package unq.persistencia;

import java.util.ArrayList;
import java.util.List;

/**
 * TODO: description
 */
public class Jugador implements Nombrable {
    private List<HabilidadImpl> habilidades = new ArrayList<HabilidadImpl>();

    private String nombre;

    private String apellido;

    private Equipo equipo;

    public Jugador(final String nombre, final String apellido, final List<HabilidadImpl> habilidad) {
        this.setNombre(nombre);
        this.setApellido(apellido);
        this.setHabilidades(habilidad);
    }

    public String getApellido() {
        return this.apellido;
    }

    public Equipo getEquipo() {
        return this.equipo;
    }

    public void setEquipo(final Equipo equipo) {
        this.equipo = equipo;
    }

    public void setApellido(final String apellido) {
        this.apellido = apellido;
    }

    private int id;

    public int getId() {
        return this.id;
    }

    public void setId(final int id) {
        this.id = id;
    }

    private int nro;

    public int getNro() {
        return this.nro;
    }

    public void setNro(final int nro) {
        this.nro = nro;
    }

    public Jugador() {

    }

    public Jugador(final String nombre) {
        this.setNombre(nombre);
    }

    public void setNombre(final String nombre) {
        this.nombre = nombre;
    }

    public List<HabilidadImpl> getHabilidades() {
        return this.habilidades;
    }

    public void setHabilidades(final List<HabilidadImpl> habilidades) {
        this.habilidades = habilidades;
    }

    @Override
    public String getNombre() {
        return this.nombre;
    }

    public int getValorHabilidad(final Posicion posicion) {
        int mayorValor = 0;
        for (HabilidadImpl hab : this.getHabilidades()) {
            if (hab.getValor(posicion) > mayorValor) {
                mayorValor = hab.getValor(posicion);
            }
        }
        return mayorValor;
    }

    @Override
    public String toString() {
        return this.getNombre() + ' ' + this.getApellido();
    }
}
